Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে Dynamic Text যোগ করা খুব সহজ। Dynamic Text বলতে এমন টেক্সট বোঝানো হয়, যা চলমান অবস্থায় কোডের মাধ্যমে ডকুমেন্টে অন্তর্ভুক্ত করা হয়, যেমন ডাটাবেস থেকে প্রাপ্ত তথ্য, ব্যবহারকারীর ইনপুট, বা অন্য কোনো প্রোগ্রামিং যুক্তি অনুসারে পরিবর্তনশীল টেক্সট।
এখানে .docx ফাইলের জন্য একটি উদাহরণ দেওয়া হলো:
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.*;
public class DynamicTextExample {
public static void main(String[] args) {
try {
// নতুন ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// নতুন প্যারাগ্রাফ তৈরি
XWPFParagraph paragraph = document.createParagraph();
// নতুন রুন তৈরি
XWPFRun run = paragraph.createRun();
// Dynamic Text যোগ করা
String dynamicText = "এই টেক্সটটি ডাইনামিকভাবে যোগ করা হয়েছে: " + System.currentTimeMillis();
run.setText(dynamicText);
// ডকুমেন্ট সেভ করা
try (FileOutputStream fos = new FileOutputStream("DynamicTextExample.docx")) {
document.write(fos);
}
System.out.println("ডাইনামিক টেক্সট সফলভাবে ডকুমেন্টে যোগ করা হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
ধরা যাক, আমরা একটি ডাটাবেস থেকে ডাইনামিক তথ্য নিয়ে Word ডকুমেন্টে যোগ করতে চাই। নিচে একটি উদাহরণ দেওয়া হলো যেখানে ডাটাবেস থেকে একটি নাম নিয়ে তা ডকুমেন্টে যোগ করা হচ্ছে:
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.*;
import java.sql.*;
public class DatabaseDynamicTextExample {
public static void main(String[] args) {
try {
// ডাটাবেস সংযোগ
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT username FROM users WHERE user_id = 1");
String userName = "";
if (rs.next()) {
userName = rs.getString("username");
}
// নতুন ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// নতুন প্যারাগ্রাফ তৈরি
XWPFParagraph paragraph = document.createParagraph();
// নতুন রুন তৈরি
XWPFRun run = paragraph.createRun();
// ডাটাবেস থেকে ডাইনামিক টেক্সট যোগ করা
String dynamicText = "স্বাগতম " + userName + ", আপনি আমাদের সিস্টেমে সফলভাবে লগইন করেছেন!";
run.setText(dynamicText);
// ডকুমেন্ট সেভ করা
try (FileOutputStream fos = new FileOutputStream("UserWelcome.docx")) {
document.write(fos);
}
System.out.println("ডাইনামিক টেক্সট সফলভাবে ডকুমেন্টে যোগ করা হয়েছে!");
} catch (SQLException | IOException e) {
e.printStackTrace();
}
}
}
run.setBold(true)
, run.setItalic(true)
, run.setUnderline(true)
ইত্যাদি ব্যবহার করতে পারেন। এছাড়াও, ফন্ট সাইজ, ফন্ট কালার ইত্যাদি পরিবর্তন করা সম্ভব।Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে Dynamic Text যোগ করা খুবই সহজ এবং কার্যকরী। এটি কেবল স্ট্যাটিক টেক্সট নয়, বরং পরিবর্তনশীল বা চলমান তথ্যকে ডকুমেন্টে অন্তর্ভুক্ত করতে সক্ষম, যেমন ডাটাবেস থেকে প্রাপ্ত তথ্য, ব্যবহারকারীর ইনপুট বা সিস্টেমের বর্তমান সময়। XWPF ক্লাসের মাধ্যমে আপনি অত্যন্ত নমনীয়ভাবে এই কাজটি করতে পারেন, এবং প্রয়োজন অনুযায়ী টেক্সট ফরম্যাটিং, টেবিল, গ্রাফিক্স সহ আরও অনেক কিছু যোগ করতে পারবেন।
common.read_more